﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <ctype.h>

/*
大写输入
小写输出
多组输入
*/
#if 0
int main()
{
	int ch = 0;
	while ((ch = getchar()) != EOF)
	{
		putchar(ch + 32);
		printf("\n");
		getchar();
	}
	return 0;
}
#endif


/*
小飞机
*/
#if 0
int main()
{
	//printf()的打印
	return 0;
}
#endif 


/*
以十进制的形式打印十六进制数
*/
#if 0
int main()
{
	//printf("%15d\n", 0xABCDEF);
	printf("%#X\n", 0xABCDEF);
	return 0;
}
#endif 


/*
printf()函数的返回值
*/
#if 0
int main()
{
	printf("Hello World!");
	printf("\n");
	int ret = printf("Hello Hello!");
	printf("%d\n", ret);
	return 0;
}
#endif 


/*
4321调用
*/
#if 0
int main()
{
	printf("%d", printf("%d", printf("%d", 43)));
	return 0;
}
#endif 


/*
学生信息信息输入输出
*/
#if 0
int main()
{
	int ID = 0;

	float c_score = 0.0;
	float math_score = 0.0;
	float eng_score = 0.0;
	//输入
	scanf("%d;%f,%f,%f", &ID, &c_score, &math_score, &eng_score);

	//输出
	printf("The each subject score of   No. %d is %.2f, %.2f, %.2f.",
		ID,c_score,math_score,eng_score);
	return 0;
}
#endif 


/*
字母判断
多组输入
输入一个字符
区分是不是字母（包含大小写）
*/
#if 0
int main()
{
	int ch = 0;

	//输入
	while ((ch = getchar()) != EOF)
	{
		//判断并输出
		if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
		{
			printf("YES\n");
		}
		else
		{
			printf("NO\n");
		}
		getchar();//处理\n
	}
	return 0;
}
#endif 

 
/*
isalpha - 是专门判断字符是否是字母
是返回1
不是返回0
*/
#if 0
int main()
{
	int ch = 0;

	//输入
	while ((ch = getchar()) != EOF)
	{
		//判断并输出
		if ( isalpha(ch))
		{
			printf("YES\n");
		}
		else
		{
			printf("NO\n");
		}
		getchar();//处理\n
	}
	return 0;
}
#endif 


/*
字符金字塔
*/
#if 0
int main()
{
	//输入一个字符
	char ch = 0;
	ch = getchar();
	//输出金字塔
	int i = 0;
	//每循环一次，打印一行
	//每一行由2部分组成，空格和字符
	for (i = 0; i < 5; i++)
	{
		//空格
		int j = 0;
		for (j = 0; j < 4 - i; j++)
		{
			printf(" ");
		}
		//字符
		for (j = 0; j <=i; j++)
		{
			printf("%c ", ch);
		}
		printf("\n");
	}
	return 0;
}
#endif


/*
ASCII码值
*/
#if 0
int main()
{
	char arr[] = { 73,32,99,97,110,32,100,111,32,105,116,33 };

	int i = 0;
	int sz = sizeof(arr) / sizeof(arr[0]);
	for(i = 0; i < sz; i++)
	{
		printf("%c", arr[i]);
	}
	return 0;
}
#endif


/*
出生日期输入输出
第一行为出生年份
第二行为出生月份
第三行为出生日期

year=2013
month=02
date=25
*/
#if 0
int main()
{
	int year = 0;
	int month = 0;
	int date = 0;
	//按照格式输入
	scanf("%4d%2d%2d", &year, &month, &date);
	//输出
	printf("year=%4d\n", year);
	printf("month=%02d\n", month);
	printf("date=%02d\n", date);
	return 0;
}
#endif 


/*
2的n次方计算
输入2就是2²
输入10就是10的平方

左移操作符 -- 2 的 n 次方
*/ 
#if 0
int main()
{
	int n = 0;

	//整形输入 -- 整形
	while ((scanf("%d", &n)) != EOF)
	{
		printf("%d\n", 1 << n);
	}
	return 0;
}
#endif 


/*
按照格式输入并交换输出
*/
#if 0
int main()
{
	int a = 0;
	int b = 0;
	scanf("a=%d,b=%d", &a, &b);
	//交换
	int tmp = a;
	a = b;
	b = tmp;
	printf("a=%d,b=%d\n", a, b);
	return 0;
}
#endif 


/*
字符转ASCII码值
*/
#if 0
int main()
{
	char ch = 0;
	ch = getchar();
	printf("%d\n", ch);
	return 0;
}
#endif


/*
计算表达式的值
*/
#if 0
int main()
{
	int a = 40;
	int c = 212;
	printf("%d\n", (-8 + 22) * a - 10 + c / 2);
	return 0;
}
#endif 


/*
计算带余除法
*/
#if 1
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	printf("%d %d\n", a / b,a%b);
	//除法操作符 -- 商
	//取模操作   -- 余数
	return 0;
}
#endif 
//......